home *** CD-ROM | disk | FTP | other *** search
- !MultiScrn
- ==========
-
- © 1993 Michael R. Ellis
-
- How to use !MultiScrn
- =====================
-
- !MultiScrn provides up to ten views of the RISC OS desktop. Each view
- can be displayed singly, or all ten views can be displayed simultaneously. It
- is also possible to remove all windows so that pinboard items can be accessed
- easily.
-
- When !MultiScrn is first started it selects the first view, known as
- "Screen 1", and all the windows visible are automatically placed onto this
- screen. A row of buttons is added to the iconbar, and it is through these
- that other screens may be selected.
-
-
- Basic Operation
- ===============
-
- !MultiScrn can operate in three distinct modes, namely Selected, All
- and None. The names are pretty self-explanatory - Selected mode displays the
- selected screen while All and None modes are used to display, respectively,
- all and none of the available screens.
-
- When first started, !MultiScrn is in the Selected mode. To select a
- different screen you can either double-click Select over one of the buttons
- above the iconbar or, alternatively, you can use ⇧^f1 (Shift-Control-f1) to
- ⇧^f10 to select screen 1 to 10 respectively. In Selected mode, each screen
- can have a different screen mode and palette which will be set up when that
- screen is selected. To change the screen mode and/or palette, simply use the
- palette application (or any other, similar utility) as normal. To override
- the automatic mode and palette change hold down Control while double-clicking
- the appropriate button - it is not possible to override the mode change when
- using the keyboard shortcuts.
-
- Double-clicking on the currently depressed button will change
- !MultiScrn into None mode. While in None mode all windows will be moved off
- screen, the screen mode and palette will remain unchanged and any windows
- created will be assigned to the screen in effect before None mode was entered.
-
- Double-clicking any button with Adjust or pressing ⇧^f11 will change
- !MultiScrn in All mode - the screen mode and palette will be those in effect
- when All mode was entered. Any windows created while in All mode will be
- assigned to all the screens.
-
- Clicking Menu over the buttons produces a menu which can give
- information about !MultiScrn, quit !MultiScrn or change the text displayed in
- the button: !MultiScrn will automatically shorten the name to fit the available
- space if necessary.
-
-
- Advanced Operation
- ==================
-
- Moving Windows around
- ---------------------
-
- There comes a time when you want to move a window from one screen to
- another, and !MultiScrn allows you to do this in several different ways which
- are outlined below. All of the operations are based upon the filer methods of
- moving and copying files around - it is much easier to understand the
- descriptions if this is remembered.
-
- Moving a single window is always done by dragging from a button on the
- button-bar to a window. Two things must also be remembered. First, there is
- only ever one copy of a window - if that copy is closed (using the normal
- 'close' icon on the window) then the window will disappear from all the screens
- it appeared on. Second, iconised windows, backdrop windows and panes are
- never affected by !MultiScrn.
-
- Dragging with Select copies the window to the screen associated with
- the button. This is similar to the method used by the filer to copy a file
- from one place to another except that the drag occurs in the 'wrong' direction.
-
- To move a window to a specific screen, shift-drag with Select just as
- if you were going to copy a window as described above. The window will
- disappear from all the screens it appears on and will re-appear on the
- destination screen.
-
- Dragging with Adjust instead will copy the window onto all the screens.
- Shift-dragging with Adjust will attempt to remove the window from the currently
- displayed screen. Note that !MultiScrn will not allow you to remove the window
- from the last screen it appears on.
-
- Moving Screens around
- ---------------------
-
- It is possible to move all the windows on a screen to another screen by
- dragging between two buttons on the button-bar. Dragging and shift-dragging
- with Select both work as expected - the former copies all the windows while the
- latter moves the windows. Note that in this case the drag works 'right way
- round' - the windows are copied/moved from the screen you drag from and to the
- screen you drag to.
-
- Dragging and shift-dragging with Adjust is a little more complicated.
- The former moves any window which currently appears on all screens to all
- screens, the net result of which is that it does nothing! The latter moves
- any window which currently appears on all screens to the destination screen.
-
- Command-line Operation
- ----------------------
-
- To ease the setting up of screens, a means is provided whereby the
- currently selected screen and the names of any of the screens may be set from
- the command line or an 'Obey' file. This is done by the "WIMP Messenger"
- module included with MultiScrn. The commands recognised are :-
-
- SendMessage MultiScrn Name <screen> <name>
- SendMessage MultiScrn Set <screen>
-
- where <screen> is a number between 1 and 10 (out of range values are ignored)
- and <name> is a text string to be used as the name. The "Set" command also
- understands the screen known as 'all'.
-
- Note that there is a "bug" (feature) in all current version of the RISC OS
- filer which prevents the Filer_OpenDir and Filer_CloseDir commands from working
- properly within scripts: all Filer_ commands are "saved up" until the end of
- the obey script and are then executed in reverse order. This means that...
-
- SendMessage MultiScrn Set 1
- Filer_OpenDir adfs::0.$.Dir1
- SendMessage MultiScrn Set 2
- Filer_OpenDir adfs::0.$.Dir2
-
- ...will actually open both Dir1 and Dir2 on screen 2 with Dir1 on top of Dir2.
- Sorry, but there really is nothing I can do about this without re-writing the
- entire filer.
-
-
- Known Bugs and 'Features'
- =========================
-
- !MultiScrn assumes that you have the wimpflags (set using !Configure or
- the "*configure wimpflags" command) set to allow windows to be dragged off the
- right and bottom of the visible screen.
-
-
- Acknowledgements and Historical Information
- ===========================================
-
- The original idea for !MultiScrn can be traced back to the excellent
- "screen" program in the UNiX (® AT&T Labs) public domain: screen allows the
- user to switch quickly between up to ten different tasks on a single textual
- terminal with a couple of keystrokes. While this approach is not really valid
- in a graphical environment, the principal was extended in several of the
- X-Windowing System window managers (in particular MOTiF and Open-Look Windows)
- which implement a system of "rooms" for the various windows.
-
- The Archimedes followed with the excellent !Larger, which allowed the
- idea of "rooms" coupled to a large, scrolling virtual desktop. However,
- after only a relatively brief exposure to !Larger, I found the virtual desktop
- to be rather confusing: it seemed very easy to lose a window, and the
- familiarity I had with the UNiX "screen" program was missing.
-
- !MultiScrn is my answer to the problem - it implements "rooms", called
- "screens", without the complexity and confusion surrounding the virtual
- desktop. Hot keys are provided to switch quickly between various screens even
- when the button bar is hidden, and it is possible to move all the windows
- off-screen so as to reveal all the items pinned to the pinboard.
-
- !MultiScrn is written using some functions from DeskLib, a FreeWare
- RISC OS Wimp library moderated by Jason Williams.
-
- The WIMPMessenger module was written by Michael R. Ellis and is similar
- in operation to the "Dialogue" module provided with StrongEd II (V2.50) by
- Guttorm Vik/Stallion Software. WIMPMessenger was written from scratch and has
- several improvements over the Dialogue module.
-
- Thanks to Simon Lockhart for many suggestions and ideas, some of which
- have been included in this version of !MultiScrn. Simon also found a few small
- bugs in !MultiScrn, but I'm not going to thank him for that! (-:
-
- "!Larger", by Robin Watts, has now moved into the commercial domain.
-
- Version History
- ===============
-
- 0.xx 18/07/93 Prototype versions - many with bugs and/or missing
- to 08/08/93 features. None were released.
-
- 1.00 10/08/93 New version, completely re-written and greatly improved
- 1.01 11/08/93 Some small bugs fixed.
- 1.02 31/08/93 Added the facility to have a window on all screens.
- 1.03 01/09/93 Improved the action on QUIT and upon multiple invocation
- 1.04 04/09/93 Added WIMPMessenger facilities.
- 1.05 08/09/93 Minor bug fixed - "thanks" Si!!!
- 1.06 13/09/93 Changed the user interface and added facilities for a
- window to appear on an arbitary set of screens.
- First official release version.
-
-
- Author's Note and Licence
- =========================
-
- The code and other files of !MultiScrn remain the copyright © 1993 of
- the author, Michael R. Ellis. No part of the code nor the supporting files
- may by modified in any way without the prior written permission of the author.
- No warranty, express or implied, is given with this software - you use it at
- your own risk.
-
- However, this licence allows the distribution of !MultiScrn in an
- unaltered form as FreeWare by anyone provided that :-
-
- * No charge is levied other than reasonable cost to cover
- distribution and/or copying costs. I regard more than £2 (or local
- equivalent) as unreasonable (1993 prices).
-
- * All files in the !MultiScrn directory are provided unaltered.
-
- WIMPMessenger is freeware in its own right and may be used in your own
- products provided that it is acknowledged in the !Help file of the application
- and that the application is distributed as FreeWare. WIMPMessenger may not be
- used in commercial applications. It is strongly recommended that the first
- parameter in any command issued via WIMPMessenger is the name of the
- application and that any application recognising the name should claim the
- message to prevent multiple actions from a single command.
-
- Bug reports and comments may be sent to me at the address below - I
- will attempt to fix any bugs found and incorporate any good ideas for
- improvements, but I can make no promises. If you supply a blank, E-formatted
- disc and a post-paid reply envelope, I will return your disc with the most up
- to date version of !MultiScrn and any other FreeWare products I have written.
- My address is :-
-
- Michael R. Ellis,
- 33, Barnfield Avenue,
- Kingston upon Thames,
- Surrey, KT2 5RD,
- England.
-
- Note: The Author can also be contacted by eMail:
- mikee@dd.eng.bbc.co.uk
-